package com.xiyu.service.convert.material;

import com.xiyu.service.vo.material.materialInfo.MaterialInfoUpdateInput;
import com.xiyu.service.vo.material.materialInfo.MaterialInfoCreateInput;
import com.xiyu.service.vo.material.materialInfo.MaterialInfoSingleGetOutput;
import com.xiyu.service.vo.material.materialInfo.MaterialInfoPageQueryOutput;
import com.xiyu.service.model.material.info.MaterialInfo;
import com.xiyu.service.vo.material.materialInfo.MaterialInfoSingleGetCategoryOutput;
import com.xiyu.service.vo.material.materialInfo.MaterialInfoUpdateCategoryInput;
import com.xiyu.service.vo.material.materialInfo.MaterialInfoCreateCategoryInput;
import com.xiyu.service.vo.material.materialInfo.MaterialInfoListQueryCategoryOutput;
import com.xiyu.service.model.material.info.MaterialCategory;
import java.util.*;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import org.babyfish.jimmer.Page;

/**
 * 物资信息 Convert
 */
@Mapper
public interface MaterialInfoConvert {
    MaterialInfoConvert INSTANCE = Mappers.getMapper(MaterialInfoConvert.class);


    List<MaterialInfoListQueryCategoryOutput> listQueryCategoryOutputConvert(List<MaterialCategory> output);

    MaterialCategory createCategoryInputConvert(MaterialInfoCreateCategoryInput input);

    MaterialCategory updateCategoryInputConvert(MaterialInfoUpdateCategoryInput input);

    MaterialInfoSingleGetCategoryOutput singleGetCategoryOutputConvert(MaterialCategory output);

    List<MaterialInfoPageQueryOutput> pageQueryOutputConvert(List<MaterialInfo> output);

    MaterialInfoSingleGetOutput singleGetOutputConvert(MaterialInfo output);

    MaterialInfo createInputConvert(MaterialInfoCreateInput input);

    MaterialInfo updateInputConvert(MaterialInfoUpdateInput input);

}
